home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 57131 / 57131.xpi / chrome / beefree.jar / content / beefree / w / bf.w.yahoo.js < prev    next >
Encoding:
JavaScript  |  2010-01-25  |  4.2 KB  |  116 lines

  1. /*
  2.     2009 - Copyright by Bee <http://www.honeybeenet.altervista.org>.
  3.     This program is free software; you can redistribute it and/or
  4.     modify it under the terms of the GNU General Public License
  5.     as published by the Free Software Foundation; either version 2
  6.     of the License, or (at your option) any later version.
  7.  
  8.     This program is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.     GNU General Public License for more details.
  12.  
  13.     You should have received a copy of the GNU General Public License
  14.     along with this program; if not, write to the Free Software
  15.     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  16. */
  17.  
  18. function beefree_w_yahoo_domain(selfIndex, stack)
  19. {
  20.     //case insensitive (gmi)
  21.     //var regexp = /search\.yahoo\.com\//gmi;
  22.     var address = stack["address"];
  23.     var regexp = /(\/\/|\.)yahoo\.com\//gmi;
  24.     return beefree_regexp_test(address, regexp);
  25. }
  26.  
  27. function beefree_w_yahoo_host(selfIndex, stack)
  28. {
  29.     //case insensitive (gmi)
  30.     var hostname = stack["hostname"];
  31.     var regexp = /yahoo\.com/gmi;
  32.     var regexp1 = /yahoo\.net/gmi;
  33.     var regexp2 = /yimg\.com/gmi;
  34.     return beefree_regexp_test(hostname, regexp) || 
  35.            beefree_regexp_test(hostname, regexp1) || beefree_regexp_test(hostname, regexp2);
  36. }
  37.  
  38. function beefree_w_yahoo_replace(selfIndex, stack)
  39. {
  40.     var address = stack["address"];
  41.     var current_page = stack["current_page"];
  42.     //http://*.yahoo.com/**http%3a//address.com/Linux
  43.     //http://*.yahoo.com/*http%3a//address.com/Linux
  44.     var URL1=/(\/\/|\.)yahoo\.com\/.*(\/\*\*|\/\*)/gmi;
  45.     //http://rdre1.yahoo.com/click?u=http://asdsd.net/
  46.     var URL2=/(\/\/|\.)yahoo\.com\/click\?u/gmi;
  47.     var is_ok = beefree_is_hyperlink(address) && 
  48.                 (beefree_substr_test(address, "/*") || beefree_substr_test(address, "click?u=")) && 
  49.                 (beefree_regexp_test(address, URL1) || beefree_regexp_test(address, URL2));
  50.     if (is_ok)
  51.     {
  52.         var done = false;
  53.         var address_new = "";
  54.         address_new = beefree_query_cut_and_translate_address(address, "/**", true);//cut & true
  55.         if(!done && address_new != address)
  56.         {
  57.             done = true;
  58.             address = address_new;
  59.         }
  60.         address_new = beefree_query_get_and_translate_address(address, "u", false);
  61.         if(!done && address_new != address)
  62.         {
  63.             done = true;
  64.             address = address_new;
  65.         }
  66.         address_new = beefree_query_cut_and_translate_address(address, "/*", true);//cut & true
  67.         if(!done && address_new != address)
  68.         {
  69.             done = true;
  70.             address = address_new;
  71.         }
  72.     }
  73.     return address;
  74. }
  75.  
  76. function beefree_w_yahoo_accept(selfIndex, stack)
  77. {
  78.     var address = stack["address"];
  79.     var current_page = stack["current_page"];
  80.     return beefree_is_hyperlink(address) && 
  81.             !beefree_is_protocol(address, "javascript:") &&
  82.             !beefree_is_anchor_magic(address, current_page) &&
  83.             !beefree_is_anchor(address);
  84. }
  85.  
  86. function beefree_w_yahoo_confirm(selfIndex, stack)
  87. {
  88.     var address = stack["address"];
  89.     var address_original = stack["address_original"];
  90.     var current_page = stack["current_page"];
  91.     return !((beefree_website_get(selfIndex)["test.domain"])(selfIndex, stack)) || address != address_original ||
  92.             beefree_host_from_address(address) != beefree_host_from_address(current_page);
  93. }
  94.  
  95. (function(){
  96.     var data = new Array();
  97.     data["enabled"] = true;
  98.     data["system"] = true;
  99.     data["version"] = 1;
  100.     data["name"] = "Yahoo";
  101.     data["test.host"] = beefree_w_yahoo_host;
  102.     data["test.domain"] = beefree_w_yahoo_domain;
  103.     data["referer.remove"] = true;
  104.     data["useragent.remove"] = true;
  105.     data["links.remove"] = true;
  106.     data["links.recursion"] = true;
  107.     data["links.metaengine"] = true;
  108.     data["links.onload"] = true;
  109.     data["links.ignoredomain"] = false;
  110.     data["links.function.accept"] = beefree_w_yahoo_accept;
  111.     data["links.function.replace"] = beefree_w_yahoo_replace;
  112.     data["links.function.confirm"] = beefree_w_yahoo_confirm;
  113.     beefree_h_script_add(data);
  114. })();
  115.  
  116.